سوالات مصاحبه مایکروسافت برای استخدام برنامه نویس
افرادی که آزمونهای کدنویسی آنلاین، آزمون تعیین سطح را پشت سر گذاشته و یکسری کارهای مقدماتی را انجام دادهاند در مرحله بعد باید در سه مصاحبه فنی شرکت کنند. دقت کنید زمانیکه درباره استخدام در مایکروسافت صحبت میکنیم، داوطلب فردی است که در رشته خود کاملا خبره است، نه فردی که تازه نحوه کار با ابزارهای فنی یا زبانهای برنامهنویسی را فرا گرفته است. این مصاحبههای فنی کمی دشوار و پیچیده هستند و کاملا بر اساس جزییاتی تنظیم میشوند که داوطلب در رزومه خود به آنها اشاره کرده است. سوالات بر اساس موضوعات مورد علاقه داوطلب و پروژههایی که در طول درون تحصیل در دانشگاه انجام داده پرسیده میشوند. بنابراین باید دقت کنید در زمان نوشتن جزئیات در رزومه خود کاملا صادق باشید.
در فرآیند مصاحبه سوالات حول محور مباحث فنی هستند، همچنین، سوالاتی که توسط بخش منابع انسانی پرسیده میشوند، ساده هستند. سوالاتی ساده شبیه به اینکه "چرا علاقمند به کار با این شرکت هستید؟" "چه عاملی شما را از سایر داوطلبان متمایز میکند؟" مطرح میشود. مصاحبههای فنی سختترین بخش داستان است و اگر بتوانید به سوالات مصاحبه فنی به درستی پاسخ دهید تقریبا 95٪ مسیر را پیمودهاید.
در مصاحبه مایکروسافت چه نوع سوالاتی در انتظار شما است؟
سؤالات فنی: از آنجایی که مصاحبهها ماهیت فنی دارند باید در انتظار سوالات فنی زیادی باشید.
سؤالات مبتنی بر وضعیت: این امکان وجود دارد که نظرات شما درباره اینکه دوست دارید چه کاری انجام دهید یا حتا سوالاتی که بر مبنای تجربیات گذشته شما هستند شبیه به اینکه "چه کاری انجام دادهاید" پرسیده شوند. بنابراین باید جوابهای خلاقانهای بدهید.
سوالات مبتنی بر تفکر: در این نوع سوالات، آنها سعی در ارزیابی مهارتهای فکری و تحلیلی شما دارند. بنابراین در اینجا باید نشان دهید که ذهن آمادهای دارید.
سؤالات پروژهای: این مدل سوالات همانگونه که مشخص است بر مبنای پروژهها و کارورزیهای شما یا تجربیاتی که در رزومه خود به آنها اشاره کردهاید سوالاتی پرسیده میشوند.
چگونه به سوالات مصاحبه مایکروسافت به درستی پاسخ دهیم؟
همانگونه که اشاره شد، بخش عمدهای از پرسشها در ارتباط با مباحث فنی هستند. در این بخش سوالات عمدتا حول محورهای زیر هستند:
- مفاهیم و مباحث تخصصی شیگرایی در زبانها
- ویژگیها و ساختار دادهها (ساختمان دادهها)، چه زمانی از آنها استفاده میکنید، پیچیدگی طراحی آنها چگونه است، چه میزان فضا اشغال میکنند و بهطور کلی پرسشهایی که در دروس ساختمان دادهها مطالبی در مورد آنها آموختهاید.
- الگوریتمها
- مفاهیم اساسی معماری کامپیوتر شبیه به کشها و البته مفاهیم مرتبط با دروس سیستمعامل.
- لیستها، حلقهها، آرایهها، درختها و اشارهگرها.
- سوالات مرتبط با مبحث مهندسی و البته مفاهیم مرتبط با آَژر، زنجیره بلوکی و تعامل با مشتری حائز اهمیت هستند.
نکاتی کلیدی برای موفقیت در مصاحبه استخدام مایکروسافت
- روی مباحث فنی به خوبی متمرکز شوید و تمرین زیادی روی مباحثی انجام دهید که در آنها ضعیف هستید.
- یک رزومه بسیار جذاب تهیه کنید
- سوالات مصاحبههای فنی و منابع انسانی را حسابی مرور کنید.
- نمونه سوالات موجود در اینترنت را بررسی کنید.
- مقدمهای تاثیرگذار برای رزومه خود آماده کنید
- نمونهای از یک مصاحبه مایکروسافت - تجربه مصاحبهشونده
- تجربه مربوط به یک دانشجوی مهندسی را مشاهده میکنید که در آزمون استخدامی مایکروسافت شرکت کرده است.
مصاحبه فنی:
- تفاوت اساسی بین یک سیستمعامل 32 بیتی و یک سیستمعامل 64 بیتی چیست؟
- بنبست چیست و در چه شرایطی ایجاد میشود؟ برای نشان دادن بنبست سعی کنید کدی بنویسید.
- برداشت شما از UDP چیست؟
- تفاوتهای اساسی بین HTML و XML چیست؟
- چندریختی چیست؟
مثال: 10 دسته 10 تایی سکه دارید که 9 عدد از این 10 دسته سکههایشان 10 گرمی و یک دسته سکههایش 9 گرمی است. چگونه با یک بار وزن کردن روی ترازوی دیجیتال (یعنی یک بار قرار دادن تعدادی سکه روی ترازو و دریافت یک عدد از ترازو) دستهای که سکههایش 9 گرمی است را پیدا کنیم؟
مصاحبه منابع انسانی:
- در مورد خودتان صحبت کنید.
- نقش شما در آخرین پروژهای که انجام دادهاید را شرح دهید.
- به نظر شما بزرگترین دستاورد شما تاکنون چیست و توضیح دهید که چرا؟
- اسطوره شما در صنعت تجارت کیست؟
- فکر میکنید چه چیزی شما را متمایز از سایر کاندیداها میکند، زمانی که در مایکروسافت مشغول به کار شوید؟
- به کدامیک از محصولات مایکروسافت علاقه دارید؟
نمونهای دیگر از یک مصاحبه استخدامی مایکروسافت
تجربه یک دانشجوی ارشد فناوری اطلاعات که در آزمون مایکروسافت شرکت کرده را مشاهده میکنید.
کدنویسی در حالت آنلاین
این داوطلب میگوید: «در اولین آزمون آنلاین کدنویسی دو نمونه سوالات کدنویسی قرار داشتند که مفاهیم اساسی آن برای من ساده بودند. آزمون کدنویسی دوم کمی دشوار بود، اما موفق شدم به درستی به آن پاسخ دهم.»
مباحث فنی:
مرحله بعد مصاحبه فنی بود و سؤالات بیشتر در ارتباط با مفاهیم اساسی و پروژههایی بود که قبلا انجام دادهام. برخی از سوالات به شرح زیر بودند:
- یک روال ذخیره شده چیست و چه مزایا و معایبی دارد؟
- تفاوت بین رابطها و کلاسهای انتزاعی را توضیح دهید؟
- توضیح دهید که چگونه یک لیست پیوندی را با استفاده از یک الگوریتم کارآمد مرتب کنیم؟
- سعی کنید یک سیستم مدیریت حافظه طراحی کنید.
- تفاوت بین مجموعه دادهها و داده خوانها چیست؟
- انواع مختلف فراخوانیهای سیستمی چیست؟
- انواع مختلف وقفهها را توضیح دهید و بگویید زمانی که یک وقفه فراخوانی میشود چه اتفاقی میافتد؟
- توضیح دهید که چگونه حلقهای که درون یک لیست پیوندی وجود دارد را پیدا کنیم.
- برای پیدا کردن عمق یک درخت باینری، الگوریتمی نوشته و آنرا توضیح دهید.
- یک الگوریتم بنویسید تا همه یکها و صفرهای درون یک آرایه را جدا کند و نحوه عملکرد آنرا شرح دهید.
سوالات پیرامون منابع انسانی
- او میگوید: «در آخرین آزمون سوالات پیرامون رزومه و دانشگاه بود.»
- در مورد خودتان بگویید و نکاتی که در رزومه به آنها اشاره نکردید را شرح دهید.
- چرا میخواهید به مایکروسافت بپیوندید؟
- موضوعات مورد علاقه در دانشگاه چه بودند و چرا برای شما اهمیت داشتند؟
- در پنج سال آینده خود را در چه موقعیت و جایگاهی میبینید؟
- برای ما یک مشکل اجتماعی که بیشترین مزاحمت را برای شما دارد را شرح داده و راهحل خود به عنوان یک متخصص فنی برای حل مشکل را شرح دهید.
- چه چیزی برای شما مهم است: سختکوشی یا کار هوشمندانه؟
نمونه سوم، فرآیند استخدام در مایکروسافت
بهطور مثال فرض کنید مایکروسافت یک آگهی شغلی برای استخدام یک مهندس در سطح متوسط (سطحی میان حرفهای و مبتدی) با مدرک تحصیلی کارشناسی ارشد فناوریاطلاعات را منتشر کرده است. در این آگهی مایکروسافت مهارتها و معیارهای خود را ممکن است به شرح زیر توصیف کند:
مهارتهای موردنیاز
یک داوطلب واحد شرایط برای احراز چنین شغلی باید مهارتهای زیر را داشته باشد:
آشنایی با توسعه نرمافزار، زبان سی، زبان سی پلاسپلاس، زبان سی شارپ، جاوا، جاوااسکریپت، اسکیوال، پایتون و الگوریتم.
مایکروسافت هر ساله یکسری داوطلب جدید را گزینش میکند که این گزینش در سه مرحله آزمون آنلاین و کدنویسی، مصاحبه فنی و مصاحبه منابع انسانی انجام میشود. فرآیند استخدام مایکروسافت همانند سایر شرکتهای بزرگ دنیای فناوری به دو صورت روش استخدامی درون کمپ (On-campus recruitment drives) و فرآیند استخدام خارج از کمپ ( Off-campus recruitment process) انجام میشود. در حالت off-campus Microsoft recruitment process مایکروسافت از دو زیرساخت، سایت این شرکت و لینکدین، مکانیکه آگهیهای شغلی در آن انتشار پیدا میکنند و داوطلبان به آن مراجعه میکنند استفاده میکند.
On-Campus Recruitmen
در این روش داوطلب در پنج مرحله آزمون کدنویسی آنلاین، نوشتن (الگوریتم و کدنویسی که ممکن است روی یک مفهوم بازگشتی یا حلقه متمرکز باشد) و سه مرحله مصاحبه فنی گزینش میشود. در آزمون کدنویسی آنلاین دو سوال مطرح میشود و داوطلب باید در مدت زمان 60 دقیقه به سوالات پاسخ دهد. در مرحله نوشتن یک سوال مطرح میشود که مدت زمان پاسخگویی 60 دقیقه است. در مجموع دو ساعت زمان برای پاسخگویی به 3 سال در نظر گرفته شده است. فرآیند استخدام مایکروسافت با یک آزمون کدنویسی آنلاین آغاز میشود که از دو سوال تشکیل شده و به شما 60 دقیقه فرصت داده میشود تا به آنها پاسخ دهید.
برای اطلاعات دقیق در مورد الگوی آزمایش باید مقالات مربوط به آزمونهای مایکروسافت را بررسی کنید. برخی از سوالات متداول به شرح زیر است:
- یک آرایه از اعداد صحیح مرتب و چرخیده شده به شما داده میشود، لطفا مکان کلید داده شده در این آرایه را پیدا کنید. مقدار -1 به معنای عدم وجود کلید در آرایه است.
- یک درخت جستوجوی باینری و یک گره به شما داده میشود، به روش پیشمایش inorder گره مابعد گره دریافتی در این درخت باینری را پیدا کنید.
- مرحله دوم نوشتن است. در این مرحله سوالی به شما داده میشود و باید در مدت زمان 60 دقیقه به سوال پاسخ دهید. متداولترین سؤالات مطرح شده در این بخش به شرح زیر است:
- الگوریتم و کدی را بنویسید تا بتواند مجموعه توانی (power set) در یک مجموعه داده را تولید کنید (حالت تکراری یا بازگشتی ایرادی ندارد)
- هنگامی که داوطلبان این مسئله را حل کردند باید سه مصاحبه فنی را پشت سر بگذارند. مصاحبه منابع انسانی نیز در خلال سه مصاحبه فنی انجام میشود. از سوالات متداول در طول مصاحبههای فنی به موارد زیر میتوان اشاره کرد:
- به شما یک آرایه از اعداد صحیح مرتب شده داده میشود. برای این اعداد یک درخت جستوجوی باینری خودمتوازن (height-balanced) ایجاد کنید.
- شما یک لیست پیوندی و دو عدد صحیح a و b دارید، لیست پیوندی را طوری تغییر دهید که ابتدا گرهها را نگه دارد، سپس گرههای b را حذف کند و سپس گره a را نگه دارد.
- تفاوت پردازه و ریسمان را توضیح دهید.
Off-Campus Recruitment
در این روش، شما میتوانید برای آگهیهای استخدامی منتشر شده روی سایت شرکت یا لینکدین درخواست داده و رزومه خود را ارسال کنید. استخدامکنندگان برنامهها و رزومهها را مرتب میکنند. اگر رزومه شما جالب باشد از شما برای مصاحبه فنی در شرکت یا اگر ساکن آن شهر نباشید از طریق تماس تلفنی دعوت میشود. سؤالاتی که در مصاحبههای خارج از شرکت انجام میشود، همان سؤالاتی است که در محیط استخدامی مطرح میشود. بیشترین سوالات حول محورهای زیر هستند:
یک نوع طبقهبندی برای مرتبسازی اتفاقات در یک تقویم طراحی کنید که بتواند به تعداد مشخصی از رخدادهای در یک روز که ممکن است ماهیت تکرارشوندگی داشته باشند پاسخ دهد (بهطور مثال هر هفته، هر 15 روز و غیره) و سپس روالی بنویسید تا تمام اتفاقات بین تاریخ شروع و تاریخ پایان را برگرداند.
با توجه به یک درخت دودویی، شما باید یک گره را به شکلی پیدا کنید که درخت زیر آن گره بزرگترین اندازه (از نظر تعداد گرهها) درخت جستجوی باینری باشد.
مصاحبه جداگانهای با منابع انسانی انجام نمیشود و این مصاحبه در زمان مصاحبههای فنی انجام میشود.
به این مطلب چند ستاره میدهید؟(امتیاز: 4.9 - رای: 4)